Local Area Network (LAN) emulation enables the implementation of an emulated LAN over an Asynchronous Transfer Mode (ATM) network. An emulated LAN provides for the communication of data frames among all of the users in the emulated LAN, similar to a physical LAN. One or more emulated LAN's may run on the same ATM network. However, each emulated LAN is independent, and users cannot communicate directly across emulated LAN boundaries.
Communication between emulated LAN's is possible only through routers or bridges, which may be implemented in a common ATM end station.
An emulated LAN may be one of two types: Ethernet/IEEE 802.3 or IEEE 802.5 (Token Ring). Each emulated LAN typically comprises a single LAN Emulation Service (LE Service) and a plurality of LAN Emulation Clients (LEC's).
An LE Service comprises a LAN Emulation Configuration Server (LECS), a LAN Emulation Server (LES), and a Broadcast and Unknown Server (BUS). An LE Service may be implemented in an ATM end station (e.g., a bridge, router, or host), or in a specific ATM network device (e.g., a switch). An LE Service may be centralized or distributed throughout an ATM network.
Each LEC is part of an ATM end station and represents one or more user devices, each of which is identified by a Medium Access Control (MAC) address. Each LEC performs data forwarding, address resolution, and other functions for associated ATM end station user devices. Each LEC must be assigned to an LE Service of an emulated LAN before it can communicate with other LEC's within the emulated LAN. Communication between LEC's and between an LEC and its assigned LE Service is performed over ATM Virtual Channel Connections (VCC's).
An LECS implements the assignment of individual LEC's to various emulated LAN's. Based upon its own policies, configuration databases, and information provided by LEC's, an LECS assigns any LEC which requests configuration information to a particular LE Service. The LECS assigns an LEC to a particular LE Service by giving the LEC the ATM address of an LES associated with that particular LE Service, along with other necessary operating parameters. The LECS provides the ATM address of the LES to the LEC over a configuration VCC which is established between the LECS and the LEC.
An LES implements the control coordination function for an emulated LAN. That is, an LES provides a facility for registering MAC addresses and/or route descriptors, and for resolving MAC addresses and/or route descriptors to ATM addresses. An LEC will register the user devices that it represents with the LES to which it is assigned. An LEC will also query its assigned LES when the LEC wishes to resolve a MAC address and/or route descriptor to an ATM address. The LES will either respond directly to the LEC which initiated the query or forward the query to other LEC's so that they may respond. An LEC communicates with its assigned LES over control VCC's which are established between the LEC and the LES.
An LES always exists with a BUS in an emulated LAN. A BUS handles all broadcast, multicast, and unknown data traffic to and from an LEC. That is, all broadcast, multicast, and unknown data traffic to and from an LEC passes through a BUS. A BUS receives and delivers this data traffic through multicast VCC's which are established between the BUS and each associated LEC. Multicast VCC's are established between a BUS and an associated LEC after the ATM address of the BUS is provided to the LEC by its assigned LES in an address resolution procedure.
Since an LES and a BUS always coexist in an emulated LAN, they may be coupled together into a combined LES/BUS server. In order to minimize the utilization of ATM network resources in an emulated LAN, a plurality of LES/BUS servers, or LES/BUS subservers, may be distributed throughout an ATM network. In such a case, each LEC is assigned to a "local" LES/BUS subserver, and the appropriate VCC's are established between each LEC and its local LES/BUS subserver. VCC's are also established between or among the plurality of LES/BUS subservers.
Similar to a physical LAN, an emulated LAN may support multiple Virtual LAN's (VLAN's). That is, an emulated LAN may be divided into multiple VLAN's, each of which allows communication between user devices that share some common trait. For example, a VLAN might include the user devices of a group of workers in a given department if it is assumed that such workers are likely to communicate most frequently amongst themselves.
Communication between user devices within a VLAN is performed according to a VLAN identification tagging scheme.
That is, IEEE Standard 802.1p dictates the communication protocol for user devices within a VLAN, and IEEE Standard 802.1q dictates that a data frame must contain a VLAN "tag" which identifies the VLAN from which the data frame originated. Such a VLAN tag may then be used to filter data frames. Consequently, user devices which are not associated with the VLAN indicated by the VLAN tag need not be burdened by the intensive processing that is typically required to determine whether a data frame is destined for such user devices. Thus, network efficiency is improved.
While VLAN identification tagging improves network efficiency by reducing the processing of data frames in a VLAN environment, data frames may still be processed in an inefficient manner in an emulated LAN supporting one or more VLAN's. That is, data frames having VLAN tags may be unnecessarily forwarded over an established point-to-multipoint VCC from a local LES/BUS subserver in an emulated LAN supporting one or more VLAN's. For example, a data frame having a VLAN tag may be unnecessarily forwarded over an established point-to-multipoint VCC from a LES/BUS subserver to all of the "local" LEC's within a corresponding LES/BUS subserver group that represent one or more user devices which are members of the VLAN indicated by the VLAN tag.
Furthermore, data frames having VLAN tags may be unnecessarily reproduced for forwarding over established point-to-point VCC's from a local LES/BUS subserver in an emulated LAN supporting one or more VLAN's. For example, a data frame having a VLAN tag may be unnecessarily reproduced for forwarding over established point-to-point VCC's from a LES/BUS subserver to all other LES/BUS subservers in an emulated LAN which provide connections to "local" LEC's that represent one or more user devices which are members of the VLAN indicated by the VLAN tag. Accordingly, it would be desirable to prevent the unnecessary forwarding and reproduction of data frames by LES/BUS subservers in an emulated LAN supporting one or more VLAN's, thereby further improving network efficiency.